package com.zenchn.service;

import com.zenchn.generic.GenericService;
import com.zenchn.model.TSysDict;
import com.zenchn.model.TSysDictExample;
import com.zenchn.entity.TSysDictVO;

import java.util.List;
import java.util.Map;

/**
 * 数据字典 业务接口
 *
 * @author dingxinfa
 * @date 2020-04-16 **/
public interface DictService extends GenericService<TSysDict, String, TSysDictExample> {

    /**
     * 全级联数据字典信息
     * @param dictTypeId  数据字典类型ID
     * @param keyword  关键字 字典名称 字典编码 字典值
     * @param isEnable  是否启用
     * @return
     */
    List<TSysDictVO> selectCascadeDictList(String dictTypeId, String keyword, Boolean isEnable);


    /**
     * 全级联 查询 上级数据字典信息
     * @param dictId
     * @return
     */
    List<TSysDict> findFullCascadeParent(String dictId);



    /**
     * 通过字典类型ID获取数据字典信息
     * @param dictTypeId  数据字典类型ID

     * @return
     */
    List<TSysDict> selectByDictTypeId(String dictTypeId);



    /**
     * 通过字典类型ID获取数据字典信息
     * @param dictTypeId  数据字典类型ID

     * @return
     */
    Map<String,String> getDictMapByDictTypeId(String dictTypeId);

    /**
     * 更新子集层级
     * @param dictId
     */
    void updateSubDictLevel(String dictId);
}
